Method and system for presenting a search result in a search result card

ABSTRACT

A method, implemented on at least one computing device each of which has at least one processor, storage, and a communication platform connected to a network for presenting a search result in a search result card, the method includes receiving from a user, an input associated with a search query; fetching one or more search results in accordance with the search query; generating a search result card for each of the one or more search results; and presenting to the user, one or more search result cards as a response to the search query, the one or more search result cards corresponding to the one or more search results, respectively.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/018,450 filed Jun. 26, 2018, which is a continuation of U.S. patentapplication Ser. No. 14/439,288, now U.S. Pat. No. 10,031,954, filedApr. 23, 2015, which is a national stage application, filed under 35U.S.C. § 371, of International Application No. PCT/CN2015/077268, filedon Apr. 23, 2015, entitled “METHOD AND SYSTEM FOR PRESENTING A SEARCHRESULT IN A SEARCH RESULT CARD”, all of which are hereby incorporated byreference in their entireties.

BACKGROUND Technical Field

The present teaching relates to methods, systems, and programming foronline search. Particularly, the present teaching relates to methods,systems, and programming for presenting a search result in a searchresult card.

Discussion of Technical Background

Online search is a process of interactively searching for and retrievingrequested information via a search application running on a local userdevice, such as a computer or a mobile device, from online databases.Online search is conducted through search engines, which are programsrunning at a remote server and searching webpages or documents forspecified keywords and return a search results page having a list oflinks to the webpages or documents where the keywords are found.

According to an existing searching technology, the search result thatmatches one or more keywords is presented to the user in one or morelinks to websites or documents with snippets from the websites. Yet inanother existing searching technology, the search result page mayinclude graphic information that directs to one or more links. FIG. 1(a)illustrates an exemplary search result 106 displayed on a smart phone inthe prior art. The search result of Sunnyvale Seafood Company 106 ispresented with a first link to the website, a short-sentence snippet, asecond link to the contact us site, and a more detailed snippet. Theinformation in the snippet of the search result 106 is very limited, andthe textual description of the search result has to be in small fonts tofit into the display area. Therefore, it is difficult for the user toview the search result and determine further actions associated with thesearch result. FIG. 1(b) illustrates another exemplary search result 104displayed on a smart phone in the prior art. Before presenting thesearch results that match the keyword “Sunnyvale seafood company,” anadvertisement for Seafood & Steak House is presented with a map andimage information that nearly occupies the entire display area of thesmart phone. In addition, information contained in the advertisementincludes pieces of information from various search result sources forthe purpose of advertising, rather than information that is mostrelevant to the search query. In such a circumstance, search resultspresented to the user may not be helpful as the first presentedadvertisement is not of the user's interest.

Therefore there is a need to provide an improved solution for presentingsearch results to users to solve the above-mentioned problems.

SUMMARY

The present teaching relates to methods, systems, and programming foronline search. Particularly, the present teaching relates to methods,systems, and programming for presenting a search result in a searchresult card.

According to some embodiments, a method implemented on at least onecomputing device each of which has at least one processor, storage, anda communication platform connected to a network for presenting a searchresult in a search result card, the method comprises receiving from auser, an input associated with a search query; fetching one or moresearch results in accordance with the search query; generating a searchresult card for each of the one or more search results; and presentingto the user, one or more search result cards as a response to the searchquery, the one or more search result cards corresponding to the one ormore search results, respectively.

In some embodiments, the method further comprises constructing an indexportion of the search result card, which includes at least obtaining atitle from the search result; obtaining at least one image from thesearch result; obtaining snippet information from the search result; andconstructing a content portion of the search result card, which includesat least extracting a plurality of information entities from the searchresult, wherein the plurality of information entities include types oftextual entity, static image entity, animated image entity, audioentity, and video entity.

In some embodiments, the index portion and the content portion arepresented in a display area of the search result card configured to betouchable.

In some embodiments, a touch operation of the display area is configuredto open a landing page associated with the search result.

In some embodiments, a touch operation of the display area is configuredto perform operations including playing an audio within the display areawhen an audio entity in the content portion of the search result card isclicked; and playing a video within the display area when a video entityin the content portion of the search result card is clicked.

In some embodiments, the plurality of information entities in thecontent portion of the search result card are sorted based on userbehavior statistics.

In some embodiments, the plurality of information entities in thecontent portion of the search result card are presented in a slidingmode, which is configured to allow the user to slide and view theplurality of information entities within the display area of the searchresult card in one direction.

In some embodiments, the one or more search result cards are presentedin a tabbed interface, which is configured to allow displaying a firstsearch result card to fit a screen area of the computing device, andnavigation to a second search result card by sliding the screen area ofthe computing device.

According to some embodiments, a system having at least one processor,storage, and a communication platform for presenting a search result ina search result card, the system comprises a user interfacing moduleconfigured to receive an input associated with a search query from auser; a search results fetching module configured to fetch one or moresearch results based on the search query; a search result cardsgenerating module configured to generate a search result card for eachof the one or more search results with respect to the user; and a searchresult cards presenting module configured to present to the user one ormore search result cards in response to the search query, wherein theone or more search result cards correspond to the one or more searchresults, respectively.

In some embodiments, the system further comprises an index portiongenerating module configured to construct an index portion of the searchresult card, which includes at least the steps of obtaining a title fromthe search result; obtaining at least one image from the search result;obtaining snippet information from the search result; and a contentportion generating module configured to construct a content portion ofthe search result card, which includes at least the step of: extractinga plurality of information entities from the search result, wherein theplurality of information entities include types of textual entity,static image entity, animated image entity, audio entity, and videoentity.

In some embodiments, the index portion and the content portion arepresented in a display area of the search result card configured to betouchable.

According to some embodiments, a non-transitory machine-readable mediumhaving information recorded thereon for presenting a search result in asearch result card, wherein the information, when read by the machine,causes the machine to perform the following: receiving from a user, aninput associated with a search query; fetching one or more searchresults in accordance to the search query; generating a search resultcard for each of the one or more search results with respect to theuser; and presenting to the user, one or more search result cards inresponse to the search query, the one or more search result cardscorresponding to the one or more search results, respectively.

The present teaching discloses a method and system for presenting asearch result in a search result card, which provides a touch friendlyinterface on a mobile phone screen and provides rich media contents ofthe search result rather than plain textual information. In oneembodiment according to the present teaching, the search result cardsare pre-generated during a scheduled webpage crawling, and stored inadvance in a search result cards database. Therefore, the presentteaching can respond quickly to the user query by directly fetching thesearch result card from the database. As the pre-generated search resultcard may consider statistic data associated with the search result, i.e,the webpage or document, the pre-generated search result card canpresent the search result to match the browsing behavior of the majorityof users. In yet another embodiment of the present teaching, the searchresult card is generated in real-time upon receiving a user query. Thestatistic data associated with the particular user is collected andincorporated into the construction process of the search result card.The real-time generated search result card has great advantage ofproviding a personalized search result that best matches the user'sinterest and browsing behavior, in addition to the advantages set forthabove.

BRIEF DESCRIPTION OF THE DRAWINGS

The methods, systems, and/or programming described herein are furtherdescribed in terms of exemplary embodiments. These exemplary embodimentsare described in detail with reference to the drawings. Theseembodiments are non-limiting exemplary embodiments, in which likereference numerals represent similar structures throughout the severalviews of the drawings, and wherein:

FIG. 1 illustrates exemplary search results pages in the prior art;

FIG. 2 illustrates an exemplary search result card corresponding to asearch result, according to an embodiment of the present teaching;

FIG. 3 illustrates an exemplary search result card and a landing pageassociated with a touch operation on the search result card, accordingto an embodiment of the present teaching;

FIG. 4 illustrates an exemplary search result card corresponding to asearch result, according to another embodiment of the present teaching;

FIG. 5 is an exemplary system diagram of a system for presenting asearch result in a search result card, according to an embodiment of thepresent teaching;

FIG. 6A is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to an embodiment of thepresent teaching;

FIG. 6B is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to another embodiment of thepresent teaching;

FIG. 7A is an exemplary system diagram of a search engine in the systemof FIG. 5, according to an embodiment of the present teaching;

FIG. 7B is an exemplary system diagram of a search engine in the systemof FIG. 5, according to another embodiment of the present teaching;

FIG. 8A is an exemplary system diagram of a search result cardsgenerating engine in the system of FIG. 5, according to an embodiment ofthe present teaching;

FIG. 8B is an exemplary system diagram of a search result cardsgenerating engine in the system of FIG. 5, according to anotherembodiment of the present teaching;

FIG. 9A is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to an embodiment shown in FIG.8A;

FIG. 9B is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to another embodiment shown inFIG. 8B;

FIG. 10A is an exemplary system diagram of an index portion generatingmodule and a content portion generating module of the search resultcards generating engines, according to an embodiment shown in FIG. 8A;

FIG. 10B is an exemplary system diagram of an index portion generatingmodule and a content portion generating module of the search resultcards generating engines, according to an embodiment shown in FIG. 8B;

FIG. 11 is a flowchart of an exemplary process for generating the searchresult cards, according to an embodiment of the present teaching;

FIG. 12 is exemplary search result cards presented to the user,according to an embodiment of the present teaching;

FIG. 13 is exemplary search result cards presented to the user,according to another embodiment of the present teaching;

FIG. 14 is a high level exemplary networked environment in which searchresult cards presentation is applied, according to an embodiment of thepresent teaching;

FIG. 15 is another high level exemplary networked environment in whichsearch result cards presentation is applied, according to an embodimentof the present teaching;

FIG. 16 depicts a general mobile device architecture on which thepresent teaching can be implemented; and

FIG. 17 depicts a general computer architecture on which the presentteaching can be implemented.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth by way of examples in order to provide a thorough understanding ofthe relevant teachings. However, it should be apparent to those skilledin the art that the present teachings may be practiced without suchdetails. In other instances, well known methods, procedures, systems,components, and/or circuitry have been described at a relativelyhigh-level, without detail, in order to avoid unnecessarily obscuringaspects of the present teachings.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment/example” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment/example” as used herein does not necessarily refer to adifferent embodiment. It is intended, for example, that claimed subjectmatter include combinations of example embodiments in whole or in part.

In general, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead, allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

The present teaching describes methods, systems, and programming aspectsof presenting a content summary of search results to users. The methodsand systems in the present teaching improve users' search experience byproviding smaller complete stories, i.e., summaries, as opposed tomultiple story abstracts, which show part of, or redundant snippets ofthe same story. The summary of the search result(s) provides a user theinformation that she/he is interested in such that the user does nothave to perform any more clicks to reach to the information she/he isinterested in. The methods and systems in the present teaching improveuser experience by saving the user's time, as the complete storyrelating to the query is surfaced on the search results page itself. Theuser can still click on the webpage or other results on the page if theuser is interesting, or needs in-depth information on the topic.Accordingly, the methods and systems in the present teaching solve thecommon problem called “tldr” (too long dint read) in the context ofsearch results.

Additional novel features will be set forth in part in the descriptionwhich follows, and in part will become apparent to those skilled in theart upon examination of the following and the accompanying drawings ormay be learned by production or operation of the examples. The novelfeatures of the present teachings may be realized and attained bypractice or use of various aspects of the methodologies,instrumentalities and combinations set forth in the detailed examplesdiscussed below.

FIG. 2 illustrates an exemplary search result card corresponding to asearch result, according to an embodiment of the present teaching.According to the illustrated embodiment, the search result for“Sunnyvale Seafood Company” is presented in a rectangular search resultcard, which includes a title of the search result 202, a logo/image ofthe search result 204, a snippet related to information of the searchresult 206, and a plurality of information entities extracted from thesearch result 208. In some embodiment, the logo/image 204 may includethird-party images associated with the search result, for example, anO'Good or a Michelin rating for the Sunnyvale Seafood Company. Thesnippet 206 may provide a full text of snippet extracted from thewebpage to the user. The plurality of information entities 208 may beextracted directly from the webpage and presented to the user in apredetermined format. In some embodiment, the plurality of informationentities 208 may be reorganized information based on the directlyextracted entities from the webpage and presented with respect to theuser. For example, if it is determined based on the user carry-out orderhistory that the user favors shrimps, the entity of organized shrimpappetizer/salad/entree may be presented at the first place to the user.

In some embodiments, the information entity may be an audio or a videoextracted from the webpage. When the user clicks the “play” button onthe audio or video, it may play the audio or video directly within theinformation entity box without navigating to a separate browser.Therefore, it provides the user a quick and resourceful review of somepopular audios or videos of the webpage with no need to navigate to aseparate window and reload the audios or videos.

In some embodiment, the search result card may be pre-configured with adimension and a layout template to show a certain amount of images andtextual information. In yet another embodiment, the logo/image 204, thesnippet related to information 206, and the plurality of informationentities may be presented in a sliding mode, allowing the user to slideon the display area and view more pieces of information associated withthe search result. For example, the search result card in FIG. 2initially shows three images in the logo/image, one piece of snippetinformation, and four information entities. By sliding the logo/imagesection to the left, the user may view more images related to the searchresult; and similarly, the user may view more snippet information orinformation entities.

FIG. 3 illustrates an exemplary search result card and a landing pageassociated with a touch operation on the search result card, accordingto an embodiment of the present teaching. In some embodiment, the entiredisplay area of the search result card may be configured to betouchable, and a touch operation on the display area may open a landingpage associated with the search result. As shown in FIG. 3, a user touchon the search result card directs the user to the homepage of theSunnyvale Seafood Company. It is understood that the landing page openedby the user's touch operation on the search result care is not limitedto the homepage of the search result, and can be any webpages associatedwith the search result. In some embodiment, the landing page may displaydirected sales copy that is a logical extension of the search result,for example, a third-party reservation webpage that serves multiplerestaurants including the Sunnyvale Seafood Company, or a third-partyinterest quote webpage associated with a realtor company.

FIG. 4 illustrates another exemplary search result card corresponding toa search result, according to an embodiment of the present teaching. Inaddition to the rectangular display, the search result card may bedisplayed in various shapes in accordance with the web browsingapplication and/or the user device. In the embodiment shown in FIG. 4,the search result card is presented in a 3-D ball shape with the title202, logo/image 204, and snippet information 206 displayed on one sidesphere of the 3-D ball and the plurality of information entities 208 onanother side sphere of the 3-D ball. When the user touches the searchresult card and slide to one direction, the 3-D ball rotates andpresents more information in the search result card to the user. Thepieces of information in a search result card in FIGS. 2-4 are organizedin rectangular or square boxes; however, they are not limited to thementioned shapes. The pieces of information in a search result card maybe organized into all types of shapes, for example, jigsaw puzzle piecesthat compose a full picture of the search result.

FIG. 5 is an exemplary system diagram of a system for presenting asearch result in a search result card, according to an embodiment of thepresent teaching. The system 500 may include a search engine 502 and asearch result cards generating engine 504. The search engine 502 mayreceive search queries from a user 506, either by direct typing keywordsin the search box or by selecting one of the query suggestions ortrending queries. The search engine 502 may further fetch search resultsin accordance with the search query, and determine whether one or moresearch result cards are available in a search result cards database 508for fetching. In some embodiment, a query log database 512 may be usedby the search engine 502 and/or the search card generating engine 504for determining whether search result cards need to be generated inadvance by crawling the webpages.

In some embodiment, the search result cards generating engine 504 maygenerate search result cards for search results offline and store theminto the search result cards database 508. The search engine 502 mayfurther directly retrieve the corresponding search result cards from thesearch result cards database 508 in real-time upon receiving a searchquery from the user.

In some embodiment, when the search result cards are not available uponreceiving the search queries from the user, the search result cardsgenerating engine 504 may generate the search result cards in real-timebased on the search queries. In some embodiment, the search resultgenerating cards may incorporate the user statistics into generating thesearch result cards such that the search result cards presented to theuser fit the user's browsing behavior or interest. The search resultcards engine 504 may fetch the content of the search result(s) fromsearch result sources 510-1, 510-2, . . . , 510-n and construct thesearch result cards in real-time.

It is understood that the search engine 502 in this embodiment is notlimited to a traditional web search engine that crawls websites on theInternet, builds webpage index, and retrieves webpages based on receivedkeywords. The search engine 502 may be any online system that providesoutput content/results in response to an input query. The search engine502 may be an online knowledge-based information retrieving system thatprovides answers to questions from users. For example, a user may ask aquestion of “should I leave college to start a business” through thesearch engine 502, and several answers may be returned on a result pageprovided by the search engine 502.

FIG. 6A is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to an embodiment of thepresent teaching. At step 602, an input associated with a search queryis received from a user. The input may be selection of the search queryfrom multiple search queries presented to the user, e.g., trendingqueries or search suggestions, as well as any keywords directly typed inby the user. At step 604, one or more search results are fetched basedon the search query. The search result(s) may be of different typesfetched from different verticals, such as news articles, sports, images,videos, local information, PDF, WORD or PPT documents, etc. The numberof search result(s) fetched for each search query may be limited, e.g.,the top three or 10 most relevant search results. At step 605, a searchresult card for each of the one or more search results is generated inresponse to the search query. According to the embodiment shown in FIG.6A, the search result card is pre-generated and stored in the searchresult cards database, and is retrieved directly in response to thesearch query. At step 608, one or more search result cards are presentedto the user.

FIG. 6B is a flowchart of an exemplary process for presenting a contentsummary of search results, according to another embodiment of thepresent teaching. Steps 602, 604 and 608 are the same as described inFIG. 6A. The difference is at step 606, where a search result card foreach of the one or more search results is generated with respect to theuser in real-time. Information associated with the user, such as thebrowsing behavior of the user, the browsing history of the user, may beprovided to generate a personalized search result card.

FIG. 7A is an exemplary system diagram of a search engine in the systemof FIG. 5, according to an embodiment shown in FIG. 6A. The searchengine 502 in this embodiment includes a user interfacing module 702, asearch results fetching module 704, and a search result cards presentingmodule 710. The user interfacing module 702 is configured to receiveuser input associated with a search query and provide the search queryto the search results fetching module 704. The search query may bekeywords inputted through a search box or received as selection of asuggested trending query or search suggestion. The search resultsfetching module 704 is configured to fetch corresponding search resultsfrom a search index 712. The types and number of search results fetchedfor a search query may be controlled by the user and/or the searchengine 502. The search results are provided to the search result cardsgenerating engine 504, which is configured to fetch one or morepre-generated search result cards from the search result cards database508. The search result cards generating engine 504 further returns thesearch result cards to the search result cards presenting module 710 forpresenting to the user. In addition to the advantage of providing theuser with a touch friendly interface and a rich media search result,generating the search result cards offline and storing the search resultcards in the database in advance can further provide the user with quickresponse to a user query.

FIG. 7B is an exemplary system diagram of a search engine in the systemof FIG. 5, according to another embodiment shown in FIG. 6B. The searchengine 502 in this embodiment includes a user interfacing module 702, asearch results fetching module 704, a search result cards presentingmodule 710, and a search result cards fetching module 706. According tothis embodiment, the search result cards fetching module 706 searchesthe search result cards database 508 upon receiving a search result, anddetermines whether a corresponding search result card has beenpre-generated. If it is determined that the corresponding search resultcard has been pre-generated, the search result cards fetching module 706directly fetch the search result card from the search result cardsdatabase 508. If it is determined that the corresponding search resultcard has not yet been pre-generated, the search result cards fetchingmodule 706 provides the search result to the search result cardsgenerating engine 504 to construct a new search result card in real-timefor the corresponding search result. As the search result card isgenerated in real-time upon receiving the user query, historical dataassociated with the particular user's browsing behavior may beincorporated into the search result card construction process.Therefore, search result cards generated in real-time has greatadvantage of personalizing the search result in response to the user'ssearch query that best matches the user's interest and behavior pattern,in addition to providing a touch friendly interface and a rich mediasearch result.

FIG. 8A is an exemplary system diagram of a search result cardsgenerating engine in the system of FIG. 5, according to an embodimentshown in FIG. 7A. The search result cards generating engine 504 in thisembodiment includes an index portion generating module 804, a contentportion generating module 806, and a search result cards generatingmodule 808. The search result card according to this embodiment ispre-generated and stored in the search result cards database 508. Thepre-generation of the search result card may be performed by a scheduledwebpage crawling. Information from a crawled webpage is provided to theindex portion generating module 804 and the content portion generatingmodule 806. According to this embodiment, a search result card maycomprise an index portion and a content portion; however, the searchresult card may comprise other elements or categories. The generatedindex portion and content portion are further provided to the searchresult cards generating module 808, which is configured to apply one ofthe search result cards layout template from the layout templatesdatabase 812 and generate the search result card for a given searchresult. The offline pre-generated search result card is further storedin the search result cards database 508. In the future, upon receiving asearch result fetched by the search engine 502, the search result cardsgenerating engine 504 may directly retrieve the corresponding searchresult card and return it to the user.

FIG. 8B is an exemplary system diagram of a search result cards enginein the system of FIG. 5, according to another embodiment shown in FIG.7B. The search result cards generating engine 504 in this embodimentincludes a search results receiving module 802, an index portiongenerating module 804, a content portion generating module 806, and asearch result cards generating module 808. The search result cardaccording to this embodiment is generated in real-time upon receiving asearch query from the user. The search results receiving module 802provide the search results to the index portion generating module 804and the content portion generating module 806, which are configured togenerate the index portion and the content portion of a search resultcard based on the user behavior. The index portion generating module 804and the content portion generating module 806 may retrieve user behaviorhistory data from the user behavior statistics database 810, anddetermine the priorities of presenting information from the searchresult. The refined index portion and the content portion are furtherprovided to the search result cards generating module 808, which isconfigured to generate the search result card using a selected layout.

FIG. 9A is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to an embodiment shown in FIG.8A. At step 901, a search query is received from a user. At step 903,the search result in accordance with the search query is fetched fromthe search index. At step 905, a search result card corresponding to thesearch result is fetched from the search result card database. At step907, the search result card is presented to the user.

FIG. 9B is a flowchart of an exemplary process for presenting a searchresult in a search result card, according to an embodiment shown in FIG.8B. At step 902, a search query is received from a user. At step 904,the search results in accordance with the search query is fetched fromthe search index. At step 906, a decision is made as to whether acorresponding search result card is available to fetch. If it isdetermined that the search result card is available to fetch, at step908, a second decision is made as to whether user behavior statistics isup-to-date. If it is determined that the user behavior statistics isup-to-date, at step 910, the available search result card is fetchedfrom the search result cards database. At step 922, the fetched searchresult card is presented to the user. On the other hand, if it isdetermined that the search result card is not available to fetch, or theuser behavior statistics is not up-to-date, at step 912, the informationof title, image and snippet are selected from the search result and anindex portion is constructed based on the user behavior at step 914; andat step 916, a plurality of information entities are selected from thesearch result and a content portion is constructed based on the userbehavior at step 918. Further, at step 920, a search result card isgenerated using the constructed index portion and content portion.

FIG. 10A is an exemplary system diagram of an index portion generatingmodule and a content portion generating module in the search resultcards generating engines, according to an embodiment shown in FIG. 8A.The index portion generating module 804 in this embodiment includes anabstract information selection unit 1002, a classification and sortingunit 1004, and a cache 1006 for storing the classified and sortedabstract information. The content portion generating module 806 in thisembodiment includes an information entities selection unit 1008, aranking unit 1100, and a cache 1102 for storing the ranked informationentities. The information from a crawled webpage is provided to theabstract information selection unit 1002 and the information entitiesselection unit 1008. Information such as title of the webpage, briefdescriptions of the webpage, logo and/or images representing thewebpages may be selected as the abstract information. Classification andsorting of the abstract information may be performed using thepredefined criteria including but not limited to types of theinformation (e.g., textual information, image information, etc.),category that the webpage belongs to (e.g., travel, dining, financialetc.), recent updates etc. Information entities may be selected fromcontents extracted from each layer of the webpages based on the categoryof the webpage. For example, information on a menu page may be selectedif the webpage is for a restaurant, while information of seller/buyeragents and loan interest may be selected if the webpage is for houselisting. Ranking of the information entities may be based on one or moreparameters, such as, relevance of the entity to the homepage category,popularity of the entity among user clicks, etc. In some embodiments,the classification and sorting of the abstract information and theranking of the information entities may use historical data associatedwith the webpage visiting. Therefore, on the circumstance that thereal-time user behavior data is not available, the search result cardsgenerating module 808 can still construct a search result card that fitsmost users' browsing behavior and interests for future search.

FIG. 10B is an exemplary system diagram of an index portion generatingmodule and a content portion generating module in the search resultcards generating engines, according to an embodiment shown in FIG. 8B.According to this embodiment, the search result card is generated inreal-time incorporating the user data. The history data of the user whosubmits the search query is retrieved from the user behavior statisticsdatabase 810, and provided to the classification and sorting unit 1004and the ranking unit 1100 to further refine the selected informationfrom the search result. By incorporating the real-time user data intothe search result card, the search result card has personalizedcharacters that best match the particular user's browsing behavior andsearch interest.

FIG. 11 is a flowchart of an exemplary process for generating the searchresult cards, according to an embodiment of the present teaching. Theprocess for generating the search result cards in this embodimentincludes selecting abstract information from the search result (step1102), classifying and sorting the abstract information into one or morecategories based on user behavior statistics (step 1104), sending theclassified and sorted abstract information to the search result cardsgenerating module (step 1106), selecting a plurality of informationentities from the search result (step 1108), ranking the plurality ofinformation entities based on user behavior statistics (step 1110),sending the ranked information entities to the search result cardsgenerating module (step 1112), and generating the search result cards(step 1114).

FIG. 12 is exemplary search result cards presented to the user,according to an embodiment of the present teaching. In FIG. 12(a), twosearch result cards 1202 and 1204 are presented at one time on a userdevice screen shown in FIG. 12(a); while in FIG. 12(b), multiple searchresult cards are presented in a tabbed interface, and only one singlesearch result card 1206 is displayed at one time on the user devicescreen. The numbers of the search result cards displayed on the userdevice screen are not limited to the illustrated examples, but may beany numbers based on user configuration for better viewing experience.In some embodiment, the display of the search result cards may beslidable in a horizontal or vertical direction. For example, sliding upthe search result cards 1202 and 1204 in FIG. 12(a) may replace searchresult card 1202 with search result card 1204, and present a new searchresult card beneath the search result card 1204; while sliding thesearch result card 1206 in FIG. 12(b) to the left may replace the searchresult card 1206 with a new search result card. Further, instead ofsqueezing all selected information related to a search result into adisplay area of the search result card, a predefined amount ofinformation are shown in the initial view of the search result card.Yet, each item of the search result card may be configured to beslidable to facilitate viewing more information. As a result, the usercan view more information associated with the search result withoutlosing the convenience and comfort of browsing the information.

FIG. 13 is exemplary search result cards presented to the user,according to another embodiment of the present teaching. In theembodiment shown in FIG. 13(a), one search result card 1302 aredisplayed in full size and other search result cards 1304, 1306, 1308and 1310 are shown as thumbnails and displayed beneath the search resultcard 1302. More search result card thumbnails may be displayed bysliding the bottom screen. The user may touch a search result cardthumbnail, i.e., one of the search result cards 1304, 1306, 1308 and1310, to display the selected search result card in full size. Meantime,the originally displayed search result card 1302 may be pulled back tothe bottom of the screen, and displayed as a thumbnail. In theembodiment shown in FIG. 13(b), the multiple search result cards aredisplayed in a 3-D view, where the title, logo/images, and snippet ofthe search result card 1320 are displayed in the center of the 3-D view,the plurality of information entities 1330 are displayed on the sidewalls of the 3-D view, and other search result cards 1322, 1324, 1326and 1328 are displayed on the bottom portion of the 3-D view. When theuser touches one of the search result card thumbnails displayed on thebottom portion of the 3-D view, the title, logo/images, and snippet ofthe selected search result card will be displayed on the center of the3-D view, and the side walls of the 3-D view will be updated accordingto the newly selected search result card. Meantime, the previouslycentered search result card 1320 will be pulled back to the bottomportion, and displayed as a thumbnail. The 3-D view may also include oneor more user interaction gadgets 1340 on the upper portion of the 3-Dview, such as “call,” “direction to here,” “homepage,” etc.

FIG. 14 is a high level exemplary networked environment in which searchresult cards presentation is applied, according to an embodiment of thepresent teaching. In FIG. 14, the exemplary networked environment 1400includes the search engine 502, the search result cards generatingengine 504, the users 506, the search result sources 510, the query logdatabase 512, the search result cards database 508, and a network 1402.The network 1402 may be a single network or a combination of differentnetworks. For example, the network 1402 may be a local area network(LAN), a wide area network (WAN), a public network, a private network, aproprietary network, a Public Telephone Switched Network (PSTN), theInternet, a wireless network, a virtual network, or any combinationthereof. The network 1402 may also include various network accesspoints, e.g., wired or wireless access points such as base stations orInternet exchange points 1402-1, . . . , 1402-2, through which a datasource may connect to the network 1402 in order to transmit informationvia the network 1402.

The users 506 may be of different types such as users connected to thenetwork 1402 via desktop computers 506-1, laptop computers 506-2, abuilt-in device in a motor vehicle 506-3, or a mobile device 506-4. Auser 506 may send a search query to the search engine 502 via thenetwork 1402 and receive a search result presented in a search resultcard from the search engine 502. In some embodiment, the search resultcards are generated by the search result cards generating engine 504 inreal-time; while in another embodiment, the search result cards aregenerated offline by crawling the webpages, and stored in the searchresult cards database 508 in advance. In this embodiment, as describedin detail above, the search result cards generating engine 504 and thesearch result cards database 508 serve as a backend system for providingsearch result cards representing the search results. In addition, insome embodiments, the search engine 502 may access query log, via thenetwork 1402, stored in the query log database 512 to determinetrending/popular queries or query suggestions to be provided to theusers 506. The information in the query log database 512 may begenerated by one or more different applications (not shown), which maybe running on the search engine 502, at the backend of the search engine502, or as a completely standalone system capable of connecting to thenetwork 1402, accessing information from different sources, analyzingthe information, generating structured information, and storing suchgenerated information in the query log database 512.

The search result sources 510 include multiple search result sources510-1, 510-2, . . . , 510-3, such as vertical search result sources(e.g., shopping, local, news, finance, etc.). A search result source maycorrespond to a website hosted by an entity, whether an individual, abusiness, or an organization such as USPTO.gov, a content provider suchas cnn.com and Yahoo.com, a social network website such as Facebook.com,or a content feed source such as tweeter or blogs. The search engine 502and the search result cards generating engine 504 may retrieveinformation from any of the search result sources 510-1, 510-2, . . . ,510-3. For example, the search engine 502 crawls the search resultsources 510-1, 510-2, . . . , 510-3 for building its search index; andthe search result cards generating engine 504 fetches search resultsources 510-1, 510-2, . . . , 510-3 for constructing the search resultcards in real-time.

FIG. 15 is another high level exemplary networked environment in whichsearch result cards presentation is applied, according to an embodimentof the present teaching. The networked environment 1500 in thisembodiment is similar to the networked environment 1400 in FIG. 14,except that the search result cards generating engine 504 and the searchresult cards database 508 in this embodiment act as an independentservice providers that directly connect to the network 1402. Forexample, an independent service provider with the search result cardsgenerating engine 504 may serve multiple search engines via the network1402.

FIG. 16 depicts a general mobile device architecture on which thepresent teaching can be implemented. In this example, the user device isa mobile device 1600, including but is not limited to, a smart phone, atablet, a music player, a handled gaming console, a global positioningsystem (GPS) receiver, a smart-TV, wearable devices, etc. The mobiledevice 1600 in this example includes one or more central processingunits (CPUs) 1602, one or more graphic processing units (GPUs) 1604, adisplay 1606, a memory 1608, a communication platform 1610, such as awireless communication module, storage 1612, and one or moreinput/output (I/O) devices 1614. Any other suitable component, such asbut not limited to a system bus or a controller (not shown), may also beincluded in the mobile device 1600. As shown in FIG. 16, a mobileoperating system 1616, e.g., iOS, Android, Windows Phone, etc., and oneor more applications 1618 may be loaded into the memory 1608 from thestorage 1612 in order to be executed by the CPU 1602. The applications1618 may include a browser or any other suitable mobile apps for sendingthe search query and rendering the search results page through themobile device 1600. Execution of the applications 1618 may cause themobile device 1600 to perform the processing as described above in thepresent teaching. For example, presentation of a search results page tothe user may be made by the GPU 1604 in conjunction with the display1606. A search query may be inputted by the user via the I/O devices1614 and transmitted to the search engine 502 via the communicationplatform 1610.

To implement the present teaching, computer hardware platforms may beused as the hardware platform(s) for one or more of the elementsdescribed herein. The hardware elements, operating systems, andprogramming languages of such computers are conventional in nature, andit is presumed that those skilled in the art are adequately familiartherewith to adapt those technologies to implement the processingessentially as described herein. A computer with user interface elementsmay be used to implement a personal computer (PC) or other type of workstation or terminal device, although a computer may also act as a serverif appropriately programmed. It is believed that those skilled in theart are familiar with the structure, programming, and general operationof such computer equipment and as a result the drawings should beself-explanatory.

FIG. 17 depicts a general computer architecture on which the presentteaching can be implemented and has a functional block diagramillustration of a computer hardware platform that includes userinterface elements. The computer may be a general-purpose computer or aspecial purpose computer. This computer 1700 can be used to implementany components of the online search architecture as described herein.Different components of the systems disclosed in the present teachingcan all be implemented on one or more computers such as computer 1700,via its hardware, software program, firmware, or a combination thereof.Although only one such computer is shown, for convenience, the computerfunctions relating to online search may be implemented in a distributedfashion on a number of similar platforms, to distribute the processingload.

The computer 1700, for example, includes COM ports 1702 connected to andfrom a network connected thereto to facilitate data communications. Thecomputer 1700 also includes a CPU 1704, in the form of one or moreprocessors, for executing program instructions. The exemplary computerplatform includes an internal communication bus 1706, program storageand data storage of different forms, e.g., disk 1708, read only memory(ROM) 1710, or random access memory (RAM) 1712, for various data filesto be processed and/or communicated by the computer, as well as possiblyprogram instructions to be executed by the CPU 1704. The computer 1700also includes an I/O component 1714, supporting input/output flowsbetween the computer and other components therein such as user interfaceelements 1716. The computer 1700 may also receive programming and datavia network communications.

Hence, aspects of the methods of presenting content summary of searchresults, as outlined above, may be embodied in programming. Programaspects of the technology may be thought of as “products” or “articlesof manufacture” typically in the form of executable code and/orassociated data that is carried on or embodied in a type of machinereadable medium. Tangible non-transitory “storage” type media includeany or all of the memory or other storage for the computers, processorsor the like, or associated modules thereof, such as varioussemiconductor memories, tape drives, disk drives and the like, which mayprovide storage at any time for the software programming.

All or portions of the software may at times be communicated through anetwork such as the Internet or various other telecommunicationnetworks. Such communications, for example, may enable loading of thesoftware from one computer or processor into another. Thus, another typeof media that may bear the software elements includes optical,electrical, and electromagnetic waves, such as used across physicalinterfaces between local devices, through wired and optical landlinenetworks and over various air-links. The physical elements that carrysuch waves, such as wired or wireless links, optical links or the like,also may be considered as media bearing the software. As used herein,unless restricted to tangible “storage” media, terms such as computer ormachine “readable medium” refer to any medium that participates inproviding instructions to a processor for execution.

Hence, a machine readable medium may take many forms, including but notlimited to, a tangible storage medium, a carrier wave medium or physicaltransmission medium. Non-volatile storage media include, for example,optical or magnetic disks, such as any of the storage devices in anycomputer(s) or the like, which may be used to implement the system orany of its components as shown in the drawings. Volatile storage mediainclude dynamic memory, such as a main memory of such a computerplatform. Tangible transmission media include coaxial cables; copperwire and fiber optics, including the wires that form a bus within acomputer system. Carrier-wave transmission media can take the form ofelectric or electromagnetic signals, or acoustic or light waves such asthose generated during radio frequency (RF) and infrared (IR) datacommunications. Common forms of computer-readable media thereforeinclude for example: a floppy disk, a flexible disk, hard disk, magnetictape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any otheroptical medium, punch cards paper tape, any other physical storagemedium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave transporting data orinstructions, cables or links transporting such a carrier wave, or anyother medium from which a computer can read programming code and/ordata. Many of these forms of computer readable media may be involved incarrying one or more sequences of one or more instructions to aprocessor for execution.

Those skilled in the art will recognize that the present teachings areamenable to a variety of modifications and/or enhancements. For example,although the implementation of various components described above may beembodied in a hardware device, it can also be implemented as a softwareonly solution—e.g., an installation on an existing server. In addition,the units of the host and the client nodes as disclosed herein can beimplemented as a firmware, firmware/software combination,firmware/hardware combination, or a hardware/firmware/softwarecombination.

While the foregoing has described what are considered to be the bestmode and/or other examples, it is understood that various modificationsmay be made therein and that the subject matter disclosed herein may beimplemented in various forms and examples, and that the teachings may beapplied in numerous applications, only some of which have been describedherein. It is intended by the following claims to claim any and allapplications, modifications and variations that fall within the truescope of the present teachings.

We claim:
 1. A method, implemented on at least one computing device eachof which has at least one processor, storage, and a communicationplatform connected to a network for generating search result cards, themethod comprising: obtaining search results based on a search query froma user; classifying and sorting content associated with each of thesearch results into categories; selecting one or more informationentities from the content based on the categories; generating searchresult cards comprising at least one of the one or more informationentities based on behavior history data associated with the user,wherein each of the search result cards corresponds to one of the searchresults; and providing the search result cards as a response to thesearch query to the user.
 2. The method of claim 1, further comprising:searching a search result cards database in response to receiving eachof the search results; and determining whether a corresponding searchresult card has been generated previously for each of the searchresults, wherein the search result cards are generated in response todetermining that the corresponding search result card has not beengenerated previously.
 3. The method of claim 1, wherein generating thesearch result cards comprise: generating an index portion and a contentportion for each of the search result cards based on the behaviorhistory data associated with the user; determining priorities forpresenting information from each of the search results; and refining theindex portion and the content portion for each of the search resultcards based on the priorities.
 4. The method of claim 1, furthercomprising: generating a ranking of the one or more information entitiesbased on the behavior history data, wherein the at least one of the oneor more information entities is selected based on the ranking.
 5. Themethod of claim 1, wherein providing the search result cards comprises:providing a first search result card of the search result cards to auser device to be displayed as a full size search result card on a userinterface rendered by the user device; and providing one or more othersearch result cards of the search result cards as thumbnail images,wherein responsive to the user selecting one of the thumbnail images, acorresponding search result card is displayed in full size.
 6. Themethod of claim 1, wherein the search result cards are generated inreal-time based on the behavior history data associated with the user.7. The method of claim 1, wherein the one or more information entitiescomprise audio or video extracted from the content.
 8. The method ofclaim 1, wherein each of the search result cards is displayed as a 3-Dobject such that as a user interacts with the 3-D object, additionalinformation associated with the search result card is presented.
 9. Oneor more non-transitory computer-readable media storing computer programinstructions that, when executed by one or more processors, effectuateoperations comprising: obtaining search results based on a search queryfrom a user; classifying and sorting content associated with each of thesearch results into categories; selecting one or more informationentities from the content based on the categories; generating searchresult cards comprising at least one of the one or more informationentities based on behavior history data associated with the user,wherein each of the search result cards corresponds to one of the searchresults; and providing the search result cards as a response to thesearch query to the user.
 10. The one or more non-transitorycomputer-readable media of claim 9, wherein the operations furthercomprise: searching a search result cards database in response toreceiving each of the search results; and determining whether acorresponding search result card has been generated previously for eachof the search results, wherein the search result cards are generated inresponse to determining that the corresponding search result card hasnot been generated previously.
 11. The one or more non-transitorycomputer-readable media of claim 9, wherein generating the search resultcards comprise: generating an index portion and a content portion foreach of the search result cards based on the behavior history dataassociated with the user; determining priorities for presentinginformation from each of the search results; and refining the indexportion and the content portion for each of the search result cardsbased on the priorities.
 12. The one or more non-transitorycomputer-readable media of claim 9, wherein the operations furthercomprise: generating a ranking of the one or more information entitiesbased on the behavior history data, wherein the at least one of the oneor more information entities is selected based on the ranking.
 13. Theone or more non-transitory computer-readable media of claim 9, whereinproviding the search result cards comprises: providing a first searchresult card of the search result cards to a user device to be displayedas a full size search result card on a user interface rendered by theuser device; and providing one or more other search result cards of thesearch result cards as thumbnail images, wherein responsive to the userselecting one of the thumbnail images, a corresponding search resultcard is displayed in full size.
 14. The one or more non-transitorycomputer-readable media of claim 9, wherein the search result cards aregenerated in real-time based on the behavior history data associatedwith the user.
 15. The one or more non-transitory computer-readablemedia of claim 9, wherein the one or more information entities compriseaudio or video extracted from the content.
 16. The one or morenon-transitory computer-readable media of claim 9, wherein each of thesearch result cards is displayed as a 3-D object such that as a userinteracts with the 3-D object, additional information associated withthe search result card is presented.
 17. A system for generating searchresult cards, comprising: memory storing computer program instructions;and one or more processors that, when executing the computer programinstructions, effectuate operations comprising: obtaining search resultsbased on a search query from a user; classifying and sorting contentassociated with each of the search results into categories; selectingone or more information entities from the content based on thecategories; generating search result cards comprising at least one ofthe one or more information entities based on behavior history dataassociated with the user, wherein each of the search result cardscorresponds to one of the search results; and providing the searchresult cards as a response to the search query to the user.
 18. Thesystem of claim 17, wherein the operations further comprise: searching asearch result cards database in response to receiving each of the searchresults; and determining whether a corresponding search result card hasbeen generated previously for each of the search results, wherein thesearch result cards are generated in response to determining that thecorresponding search result card has not been generated previously. 19.The system of claim 17, wherein generating the search result cardscomprise: generating an index portion and a content portion for each ofthe search result cards based on the behavior history data associatedwith the user; determining priorities for presenting information fromeach of the search results; and refining the index portion and thecontent portion for each of the search result cards based on thepriorities.
 20. The system of claim 17, wherein providing the searchresult cards comprises: providing a first search result card of thesearch result cards to a user device to be displayed as a full sizesearch result card on a user interface rendered by the user device; andproviding one or more other search result cards of the search resultcards as thumbnail images, wherein responsive to the user selecting oneof the thumbnail images, a corresponding search result card is displayedin full size.